SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TCMOVI_BANC_I06]
/*---------------------------------------------------------*/    
/*---Empresa              : OFISIS S.A.                  --*/    
/*---Cliente              : OFISIS S.A.                  --*/    
/*---Sistema              : Tesoreria                    --*/    
/*---M¸dulo               : Empresa                      --*/    
/*---Programa             : Procedimiento para generar   --*/    
/*---                       Cheques para Trabajadores    --*/          
/*---Script               : ttproc_i.sql                 --*/    
/*---Nombre SP            : SP_TCMOVI_BANC_I06           --*/    
/*---Desarrollado por     : Carlos Marquez Escobar       --*/    
/*---Fecha Creaci¸n       : 03/03/2006                   --*/    
/*---Base Datos           : Microsoft Sql Server         --*/    
/*---Versi¸n              : 8.0                          --*/    
/*---Invoca a SP          :                              --*/    
/*---------------------------------------------------------*/    
/*---------------------------------------------------------*/    
/*---Modificado 1 por     : Carlos Marquez E.    --*/    
/*---Fecha Modificaci¸n   : 03/03/2006      --*/     
/*---Detalle Modificaci¸n : Incluir Campos TMLIQU_TRAB   --*/    
/*---------------------------------------------------------*/    
/*---------------------------------------------------------*/    
/*---Modificado 2por     : Carlos Marquez E.    --*/    
/*---Fecha Modificaci¸n   : 09/05/2006      --*/     
/*---Detalle Modificaci¸n : Incluir Unida como Pk, y contr-*/    
/*---						chequeras					---*/
/*---------------------------------------------------------*/    
/*---Comentarios                                         --*/    
/*---                                                    --*/    
/*---                                                    --*/    
/*---------------------------------------------------------*/    
/*---------------------------------------------------------*/    
/*--- Drop Proc SP_TCMOVI_BANC_I06                   --*/    
/*--- Grant Execute on SP_TCMOVI_BANC_I06 to public     --*/     
/*--- SP_TCMOVI_BANC_I06             --*/    
/*---------------------------------------------------------*/    
/*
	CREATE TABLE #TWCHEQ_LIQU
	( CO_TRAB   	VARCHAR(20) NULL,
	NO_TRAB		VARCHAR(200) NULL,
	CO_MONE		VARCHAR(03) NOT NULL,
	FE_OPER		DATETIME NOT NULL,
	FA_TIPO_CAMB	NUMERIC (15,6)  NOT NULL,
	CO_TIPO_OPER	VARCHAR(03) NOT NULL,
	CO_SUBR		VARCHAR(03) NOT NULL,
	NU_COMP_BANC	VARCHAR(20) NULL,
	NU_CHEQ			VARCHAR(20) NULL,
	
	FE_PROC		DATETIME NOT NULL,
	TI_CNTA_CTBL	VARCHAR(01) NULL,
	CO_CNTA_CTBL	VARCHAR(20) NULL,
	IM_DIST_CONV	 Numeric(16,4) NULL )


	Insert into	#TWCHEQ_LIQU
			(	CO_TRAB, NO_TRAB, IM_DIST_CONV,  CO_MONE, FE_OPER, FA_TIPO_CAMB, CO_TIPO_OPER, CO_SUBR,
				FE_PROC,  TI_CNTA_CTBL, CO_CNTA_CTBL)
	Values 	( '00000000002', 'RAMIREZ RAZURY LILIANA',
	39357.83,  'SOL',
	'2007-02-28', 3.191, '025', 'P10',
	'2007-04-26',  'C', '41120' ) 

 Execute SP_TCMOVI_BANC_I06 'OFISIS', '01', '002', 'CRE', '191-0223340-0-59', '2007', '02', '2007-02-28', 
'025', 'P10', 3.191, 'N', 'N'

 SELECT * FROM #TWCHEQ_LIQU

*/


@ISCO_USUA_MODI  TD_VC_008_USUA,    
@ISCO_EMPR   TD_VC_002,        
@ISCO_UNID_CNTB  TD_VC_003,    
@ISCO_BANC   TD_VC_003,     
@ISNU_CNTA_BANC  TD_VC_020,    
@ISAA_BNCO   TD_VC_004,    
@ISMM_BNCO   TD_VC_002,    
@IDFE_OPER   TD_DT_001,     
@ISCO_TIPO_OPER  TD_VC_003,    
@ISCO_SUBR   TD_VC_003,     
@INFA_TIPO_CAMB  TD_NU_015_006,     
  
@ISTI_CORR_INEG  TD_VC_001,    
@ISST_ASTO_RESU  TD_VC_001  

  
As  
Declare    
 @OSTI_DOCU_CHEQ TD_VC_003,  
 @CSCO_TRAB  TD_VC_020,  
 @CDFE_OPER      TD_DT_001,  
 @CNFA_TIPO_CAMB TD_NU_015_006,  
 @CSCO_TIPO_OPER TD_VC_003,  
 @CSCO_SUBR      TD_VC_003,  
 @CNIM_DIST_CONV TD_NU_016_004,  
 @CSNO_TRAB      TD_VC_200,  
 @CSCO_MONE      TD_VC_003,  
  
 @CDFE_PROC      TD_DT_001,  
 @CSTI_CNTA_CTBL TD_VC_001,  
 @CSCO_CNTA_CTBL TD_VC_020,  
  
 @VNCO_NUEV_NUME TD_IN_001,  
 @VSCO_NUEV_CHAR TD_VC_008,  
 @VNNU_REGI      TD_IN_001,  
 @VNUL_CORR_EGRE TD_IN_001,  
 @VNUL_CORR_INEG TD_IN_001,  
 @VNUL_CORR_AJUS TD_IN_001,  
 @VSST_INTE_BACH TD_VC_001,  
 @VSTI_OPNI_CARG TD_VC_003,  
 @VSTI_OPNI_ABON TD_VC_003,  
 @VNFE_0001      TD_IN_001,  
 @VSNU_CHEQ      TD_VC_020,  
 @VSNU_ULTI_CHEQ TD_VC_020,  
 @VNNU_CHEQ      TD_IN_001,  
 @VSTI_ENTI      TD_VC_001,  
 @VSNU_CHEQ_ANTE TD_VC_020,  
 @VSCO_MONE_EXTR TD_VC_003,  
 @VSCO_MONE_NACI TD_VC_003,  
   
 @VSTI_CAMB_0002 TD_VC_001,  
 @VSTI_ORIG      TD_VC_001,  
 @VNIM_MOVI      TD_NU_016_004,  
 @OSNU_COMP_BANC TD_VC_008,  
 @ONNU_ERRO      TD_IN_001,  
 @VNAA_BNCO      TD_IN_001,  
 @VNMM_BNCO      TD_IN_001,  
 @VSCO_OPRC_CNTB TD_VC_003,  
 @VNNU_SECU      TD_IN_001,  
  
 @VSTI_AUXI_CNTA TD_VC_001, /* Control x Auxiliar */  
 @VSTI_DOCU_CNTA TD_VC_001, /* Control x Documento */  
 @VSST_ORDE_SERV TD_VC_001, /* Control x Orden Servicio*/  
  
 @VSTI_AUXI_EMPR TD_VC_001, /* Tipo de Auxiliar Contable Ejm.'C' Clientes, 'P' Proveedor , etc. */        
 @VSCO_AUXI_EMPR TD_VC_020, /* C÷digo del Auxiliar Contable, Ejm. C÷digo del Proveedor */         
 @VSTI_DOCU  TD_VC_003, /* C÷digo o Tipo de Documento, Ejm. FAC Factura, BOL Boleta */        
 @VSNU_DOCU  TD_VC_020, /* Nomero de Documento */        
 @VDFE_DOCU  TD_DT_001, /* Fecha de Emisi÷n del Documento */        
 @VDFE_VENC  TD_DT_001, /* Fecha de Registro Compras del Documento */  
 @VSTI_OPER  TD_VC_003, /* Tipo de Operaci÷n 'C' Cargo, 'A' Abono */        
 @VSDE_GLOS  TD_VC_100, /* Glosa del registro contable */        
 @VSCO_ORDE_SERV TD_VC_020,  
 @VSCO_TIAU_EMPL TD_VC_001,  
 @VNNU_SECU_CHEQ TD_IN_001, 
 @VSST_CHEQ_UNID TD_VC_001 /* Control de chequeras por unidad */          
  
  
Begin Tran SP_TCMOVI_BANC_I06    
    
    
 /** Extrae Parametros de Empresa **/    
 Select @VSST_INTE_BACH = ST_INTE_BACH,    
   @VSTI_OPNI_CARG = CO_TIPO_OPEG,     
   @VSTI_OPNI_ABON = CO_TIPO_OPER,     
   @VSCO_MONE_NACI = CO_MONE_DEFA,    
   @VSCO_MONE_EXTR = CO_MONE_EXTR,    
   @VSTI_CAMB_0002 = TI_CAMB,     
   @VSTI_ORIG      = TI_ORIG,  
   @VSCO_TIAU_EMPL = CO_TIAU_EMPL,
   @VSST_CHEQ_UNID = IsNull(ST_CHEQ_UNID,'N')
 From   TMPARA_TESO     
 Where  CO_EMPR = @ISCO_EMPR    
   
 Declare CU_TCMOVI_BANC_I06_1 Cursor For    
 Select  CO_TRAB, NO_TRAB, IM_DIST_CONV, CO_MONE, FE_OPER, FA_TIPO_CAMB, CO_TIPO_OPER, CO_SUBR, FE_PROC,  TI_CNTA_CTBL, 
CO_CNTA_CTBL  
 From #TWCHEQ_LIQU      
   
 Open CU_TCMOVI_BANC_I06_1     
 Fetch CU_TCMOVI_BANC_I06_1     
 Into @CSCO_TRAB, @CSNO_TRAB, @CNIM_DIST_CONV, @CSCO_MONE, @CDFE_OPER, @CNFA_TIPO_CAMB, @CSCO_TIPO_OPER, @CSCO_SUBR, 
@CDFE_PROC, @CSTI_CNTA_CTBL, @CSCO_CNTA_CTBL  
    
   
 Select @VNFE_0001  = @@FETCH_STATUS    
   
   
 While (@VNFE_0001 = 0)    
 Begin    
  If (@VNFE_0001 < 0)    
  Begin       
   Close CU_TCMOVI_BANC_I06_1    
   Deallocate CU_TCMOVI_BANC_I06_1    
   Return    
  End      

     
  /** Genera Numero de Comprobante TESO **/    
  If @VSST_INTE_BACH = 'N' AND @ISST_ASTO_RESU = 'N' AND     
   @ISCO_TIPO_OPER != @VSTI_OPNI_CARG AND @ISCO_TIPO_OPER != @VSTI_OPNI_ABON    
  Begin      
   EXEC SP_TTULTI_ASTO_Q02 @ISCO_EMPR, @ISCO_USUA_MODI, @ISCO_UNID_CNTB, @ISCO_TIPO_OPER, @IDFE_OPER, @OSNU_COMP_BANC OUTPUT, 
@ONNU_ERRO OUTPUT     

    
   IF (@ONNU_ERRO != 0)    
   Begin    
    RAISERROR 20001 'FIN DE ARCHIVO'    
    ROLLBACK TRANSACTION SP_TCMOVI_BANC_I06            
    Close CU_TCMOVI_BANC_I06_1    
    Deallocate CU_TCMOVI_BANC_I06_1    
    RETURN    
   End    
  End    
   
  Else    
  Begin    
   Select @VSCO_NUEV_CHAR  = ISNULL(MAX(NU_COMP_BANC), '0')    
   From TCMOVI_BANC
   Where CO_EMPR = @ISCO_EMPR     
   And   CO_BANC = @ISCO_BANC     
   And   NU_CNTA_BANC = @ISNU_CNTA_BANC     
   And   AA_BNCO = @ISAA_BNCO    
   And   MM_BNCO = @ISMM_BNCO     
   And   TI_MOVI_BANC = 'E'      
   And   NU_COMP_BANC LIKE '000%'    
   And	 CO_UNID_CONC = @ISCO_UNID_CNTB

   Select @VNCO_NUEV_NUME = Convert(Int , @VSCO_NUEV_CHAR) + 1    
     
   Select @VSCO_NUEV_CHAR = Convert(Char(8) , @VNCO_NUEV_NUME)    
     
   -- Rellena de 8 Caracteres  
   Select @VSCO_NUEV_CHAR = ISNULL(REPLICATE('0',8- DATALENGTH(LTRIM(RTRIM(@VSCO_NUEV_CHAR)))),'') 
+LTRIM(RTRIM(@VSCO_NUEV_CHAR))    
     
   Select @OSNU_COMP_BANC = @VSCO_NUEV_CHAR     
     
   Select @VNUL_CORR_AJUS = 0    
   SELECT @VNUL_CORR_EGRE = @VNCO_NUEV_NUME     
  End    
   
  /* Numero de cheque que se genero antes */
  if @VSST_CHEQ_UNID = 'N'  --- Sin control Unidad por Chequera = Antes
	  Select @VSNU_ULTI_CHEQ = NU_ULTI_CHEQ,  
			 @VNNU_SECU_CHEQ = NU_SECU  
	  From   TTSTOC_CHEQ  
	  Where  CO_EMPR = @ISCO_EMPR    
	  And    CO_BANC = @ISCO_BANC    
	  And    NU_CNTA_BANC = @ISNU_CNTA_BANC    
	  And    SI_CHEQ_ACTU = 'S'     
	  And    TI_SITU = 'ACT'      
  Else
	  Select @VSNU_ULTI_CHEQ = NU_ULTI_CHEQ,  
			 @VNNU_SECU_CHEQ = NU_SECU  
	  From   TTSTOC_CHEQ  
	  Where  CO_EMPR = @ISCO_EMPR    
	  And    CO_BANC = @ISCO_BANC    
	  And    NU_CNTA_BANC = @ISNU_CNTA_BANC    
	  And    SI_CHEQ_ACTU = 'S'     
	  And    TI_SITU = 'ACT'      
	  And    CO_UNID_CONC = @ISCO_UNID_CNTB

   
  Select @VSNU_CHEQ_ANTE = CONVERT(VARCHAR(15),CONVERT (int,@VSNU_ULTI_CHEQ ) + 1)    
  Select @VSNU_CHEQ = ISNULL(REPLICATE('0', 15- DATALENGTH(LTRIM(RTRIM(@VSNU_CHEQ_ANTE)))),'') 
+LTRIM(RTRIM(@VSNU_CHEQ_ANTE))        
   
  /**/  
  Exec SP_TTDOCU_CNTB_Q02 29, @OSTI_DOCU_CHEQ  OUTPUT  
    

  Insert Into TCMOVI_BANC(    
   CO_EMPR, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, TI_MOVI_BANC, NU_COMP_BANC, CO_UNID_CONC, 
   FE_OPER, CO_TIPO_OPER, CO_SUBR, CO_TIPO_DOCU, NU_DOCU_BANC, FA_TIPO_CAMB, CO_BANC_CHEQ, NU_CHEQ,     
   IM_MOVI, FE_CHEQ,  CO_ENTR_REND, FE_DISP, FE_ENTR_CHEQ, FE_PROG_CHEQ, TI_ENTI, CO_ENTI, DE_NOMB_ORDE,     
   SI_SOLO_BANC, SI_OPER_CONC, AA_CONC, MM_CONC, DE_OBSE,  
   ST_CONT, NU_PROC, TI_SITU, CO_USUA_CREA,  CO_USUA_MODI, CO_GRUP_CONC, NU_SOLI, NU_CHEQ_USAD, FE_USUA_CREA, FE_USUA_MODI)   
     
  Values (    
   @ISCO_EMPR, @ISCO_BANC, @ISNU_CNTA_BANC, @ISAA_BNCO, @ISMM_BNCO, 'E', @OSNU_COMP_BANC, @ISCO_UNID_CNTB, 
   @IDFE_OPER, @ISCO_TIPO_OPER, @ISCO_SUBR, @OSTI_DOCU_CHEQ, NULL, @INFA_TIPO_CAMB, NULL, @VSNU_CHEQ,    
   @CNIM_DIST_CONV, @IDFE_OPER, NULL, NULL, NULL, NULL, @VSCO_TIAU_EMPL, @CSCO_TRAB, substring(@CSNO_TRAB,1,100),     
   'N', 'N', NULL, NULL, 'LIQUIDACION TRABAJADOR ' + @CSCO_TRAB + '-' + substring(@CSNO_TRAB,1,100),  
   'N', NULL, 'ACT', @ISCO_USUA_MODI, @ISCO_USUA_MODI, NULL, NULL, @VNNU_SECU_CHEQ, GETDATE(), GETDATE())          
  
  
  If @@error <> 0    
  Begin    
   ROLLBACK TRANSACTION SP_TCMOVI_BANC_I06            
   Close CU_TCMOVI_BANC_I06_1    
   Deallocate CU_TCMOVI_BANC_I06_1    
   Return    
  End    
  
  
  Select @VSTI_AUXI_CNTA = ST_AUXI_EMPR,  
	    @VSTI_DOCU_CNTA = ST_DOCU_CNTB,  
	    @VSST_ORDE_SERV = ST_ORDE_SERV  
  From TMPLAN_EMPR  
  Where CO_EMPR = @ISCO_EMPR And        
    CO_CNTA_EMPR = @CSCO_CNTA_CTBL        
   
  If @VSTI_AUXI_CNTA = 'S'  
   select @VSTI_AUXI_EMPR = @VSCO_TIAU_EMPL, @VSCO_AUXI_EMPR = @CSCO_TRAB  
  Else  
   select @VSTI_AUXI_EMPR = Null, @VSCO_AUXI_EMPR = Null  
   
  If @VSTI_DOCU_CNTA = 'S'  
   select @VSTI_DOCU = @OSTI_DOCU_CHEQ, @VSNU_DOCU = @VSNU_CHEQ, @VDFE_DOCU = @CDFE_PROC, @VDFE_VENC = @CDFE_PROC  
  Else  
   select @VSTI_DOCU = Null, @VSNU_DOCU = Null, @VDFE_DOCU = Null, @VDFE_VENC = Null  
    
  If @VSST_ORDE_SERV = 'S'  
   select @VSCO_ORDE_SERV = Null  
  Else  
   select @VSCO_ORDE_SERV = Null  

   
  /** Inserta a la tabla Detalle de Asientos Contables **/    
  Insert Into TDBANC_DIST (CO_EMPR, CO_USUA_CREA, FE_USUA_CREA,CO_USUA_MODI, FE_USUA_MODI,  
   CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, TI_MOVI_BANC, NU_COMP_BANC, NU_SECU, CO_UNID_CONC,
   CO_CNTA_EMPR, TI_MOVI, CO_TIPO_AUXI, CO_AUXI_EMPR, CO_ORDE_SERV,    
   ST_DIST, PO_DIST, IM_DIST, TI_DOCU, NU_DOCU, FE_DOCU, DE_OBSE)    
  Values  ( @ISCO_EMPR, @ISCO_USUA_MODI, GETDATE(),@ISCO_USUA_MODI, GETDATE(),    
   @ISCO_BANC, @ISNU_CNTA_BANC, @ISAA_BNCO, @ISMM_BNCO, 'E', @OSNU_COMP_BANC, 1, @ISCO_UNID_CNTB,
   @CSCO_CNTA_CTBL, @CSTI_CNTA_CTBL, @VSTI_AUXI_EMPR, @VSCO_AUXI_EMPR, @VSCO_ORDE_SERV,  
   'M',  100.00, @CNIM_DIST_CONV, @VSTI_DOCU,  @VSNU_DOCU, @VDFE_DOCU, 'LIQUIDACION TRABAJADOR ' + @CSCO_TRAB)     
 

   
  If @@error <> 0    
  Begin    
   Rollback tran SP_TCMOVI_BANC_I06    
   Close CU_TCMOVI_BANC_I06_1    
   Deallocate CU_TCMOVI_BANC_I06_1    
   Return    
  End    
   
  If @VSST_CHEQ_UNID = 'N'  --- Sin control Unidad por Chequera = Antes   
	  Update TTSTOC_CHEQ    
	  Set	NU_ULTI_CHEQ = @VSNU_CHEQ , FE_ULTI_CHEQ = @IDFE_OPER,    
	  		FE_USUA_MODI = GETDATE(), CO_USUA_MODI = @ISCO_USUA_MODI    
	  Where CO_EMPR = @ISCO_EMPR      
	  and   CO_BANC = @ISCO_BANC     
	  and   NU_CNTA_BANC = @ISNU_CNTA_BANC     
	  and   SI_CHEQ_ACTU = 'S'    
  Else
	  Update TTSTOC_CHEQ    
	  Set	NU_ULTI_CHEQ = @VSNU_CHEQ , FE_ULTI_CHEQ = @IDFE_OPER,    
			FE_USUA_MODI = GETDATE(), CO_USUA_MODI = @ISCO_USUA_MODI    
	  Where CO_EMPR = @ISCO_EMPR      
	  and   CO_BANC = @ISCO_BANC     
	  and   NU_CNTA_BANC = @ISNU_CNTA_BANC     
	  and   SI_CHEQ_ACTU = 'S'
	  And   CO_UNID_CONC = @ISCO_UNID_CNTB
    
  If @@error <> 0    
  Begin    
   Rollback tran SP_TCMOVI_BANC_I06    
   Close CU_TCMOVI_BANC_I06_1    
   Deallocate CU_TCMOVI_BANC_I06_1    
   Return    
  End    
   
  /* Actualizando el numero de cheque en la tabla temporal para los trabajadores */     
    
  --Update #TWCHEQ_LIQU   Set NU_CHEQ = @VSNU_CHEQ, NU_COMP_BANC = @OSNU_COMP_BANC WHERE CURRENT OF CU_TCMOVI_BANC_I06_1     
  
  Update #TWCHEQ_LIQU   Set NU_CHEQ = @VSNU_CHEQ, NU_COMP_BANC = @OSNU_COMP_BANC WHERE CO_TRAB = @CSCO_TRAB  
  If @@error <> 0    
  Begin    
   Rollback tran SP_TCMOVI_BANC_I06    
   Close CU_TCMOVI_BANC_I06_1    
   Deallocate CU_TCMOVI_BANC_I06_1    
   Return    
  End    
  
  
  ----------- Actualiza los Correlativos ------------------   
  If @VSST_INTE_BACH = 'S' OR @ISST_ASTO_RESU = 'S' OR     
   @ISCO_TIPO_OPER = @VSTI_OPNI_CARG OR @ISCO_TIPO_OPER = @VSTI_OPNI_ABON    
  Begin        
    
   If @ISTI_CORR_INEG = 'N'    
   Begin    
    Select @VNUL_CORR_EGRE = UL_CORR_EGRE     
    From TMSABA_MENS    
    WHERE CO_EMPR = @ISCO_EMPR      
    AND   CO_BANC = @ISCO_BANC     
    AND   NU_CNTA_BANC = @ISNU_CNTA_BANC     
    AND   AA_BNCO = @ISAA_BNCO     
    AND   MM_BNCO = @ISMM_BNCO     
    
    Update TMSABA_MENS    
    Set  UL_CORR_EGRE = @VNUL_CORR_EGRE + 1 + @VNUL_CORR_AJUS, CO_USUA_MODI = @ISCO_USUA_MODI,      
     FE_USUA_MODI = GETDATE()    
    Where  CO_EMPR = @ISCO_EMPR     
    And    CO_BANC = @ISCO_BANC     
    And    NU_CNTA_BANC = @ISNU_CNTA_BANC     
    And AA_BNCO = @ISAA_BNCO     
    And    MM_BNCO = @ISMM_BNCO    
      
    If @@error <> 0    
    Begin    
     Rollback tran SP_TCMOVI_BANC_I06    
     Close CU_TCMOVI_BANC_I06_1    
     Deallocate CU_TCMOVI_BANC_I06_1    
     Return    
    End    
   End    
   Else    
   Begin    
    Select @VNUL_CORR_INEG = UL_CORR_INEG     
    From TMSABA_MENS    
    WHERE CO_EMPR = @ISCO_EMPR      
    AND   CO_BANC = @ISCO_BANC     
    AND   NU_CNTA_BANC = @ISNU_CNTA_BANC     
    AND   AA_BNCO = @ISAA_BNCO      
    AND   MM_BNCO = @ISMM_BNCO     
     
    Update TMSABA_MENS    
    Set  UL_CORR_INEG = @VNUL_CORR_INEG + 1 + @VNUL_CORR_AJUS, CO_USUA_MODI = @ISCO_USUA_MODI,    
     FE_USUA_MODI = GETDATE()    
    Where  CO_EMPR = @ISCO_EMPR     
    And    CO_BANC = @ISCO_BANC     
    And    NU_CNTA_BANC = @ISNU_CNTA_BANC     
    And    AA_BNCO = @ISAA_BNCO     
    And    MM_BNCO = @ISMM_BNCO    
     
    If @@error <> 0    
    Begin    
     Rollback tran SP_TCMOVI_BANC_I06    
     Close CU_TCMOVI_BANC_I06_1    
     Deallocate CU_TCMOVI_BANC_I06_1    
     Return    
    End    
   End    
  End    
    
  -- Actualizacion de los Datos Generados en el Sistemas de Planillas --  
  
  Update TMLIQU_TRAB  
  Set  TI_MODA_PAGO = 'CHE',  --PreDef Ofiplan  
    TI_DOCU = @OSTI_DOCU_CHEQ,  
    NU_DOCU = @VSNU_CHEQ,  
    FE_CHEQ = @IDFE_OPER,  
    CO_BANC = @ISCO_BANC,  
    NU_CNTA = @ISNU_CNTA_BANC,    
    CO_USUA_MODI = @ISCO_USUA_MODI,    
    FE_USUA_MODI = GETDATE()    
  Where  CO_TRAB = @CSCO_TRAB     
  And    CO_EMPR = @ISCO_EMPR     
  And    FE_PROC = @CDFE_PROC     
  And    ST_LIQU_DEFI = 'S'  
  
  
  If @@error <> 0    
  Begin    
   Rollback tran SP_TCMOVI_BANC_I06    
   Return    
  End    
  
    
  -- Generación Voucher Contable  --  
    
  If @VSST_INTE_BACH = 'N' AND @ISST_ASTO_RESU = 'N' AND     
   @ISCO_TIPO_OPER != @VSTI_OPNI_CARG AND @ISCO_TIPO_OPER != @VSTI_OPNI_ABON    
  Begin      
   Select @VNAA_BNCO = CONVERT(INT,@ISAA_BNCO)    
   Select @VNMM_BNCO = CONVERT(INT,@ISMM_BNCO)    

   EXEC SP_TTPROC_INTE_I64 @ISCO_EMPR, @ISCO_USUA_MODI, @ISCO_UNID_CNTB, @ISCO_BANC, @ISNU_CNTA_BANC, Null, @VNAA_BNCO, 
@VNMM_BNCO,  @IDFE_OPER , @OSNU_COMP_BANC, 'S'    
   If @@error <> 0    
   Begin    
	   ROLLBACK TRANSACTION SP_TCMOVI_BANC_I06            
	   Close CU_TCMOVI_BANC_I06_1    
	   Deallocate CU_TCMOVI_BANC_I06_1    
	   Return    
   End    
  End    
  
   
  Select Distinct @VSCO_OPRC_CNTB = CO_OPRC_CNTB From TDTIPO_OPER Where CO_EMPR = @ISCO_EMPR And CO_TIPO_OPER = 
@ISCO_TIPO_OPER    
    
  Delete TTINTE_CNDE    
  Where CO_EMPR = @ISCO_EMPR    
  And NU_CNTB_EMPR = 1    
  And CO_UNID_CNTB = @ISCO_UNID_CNTB    
  And CO_OPRC_CNTB = @VSCO_OPRC_CNTB    
  And NU_ANNO      = @VNAA_BNCO    
  And NU_MESE      = @VNMM_BNCO    
  And NU_ASTO      = @OSNU_COMP_BANC    
  If @@error <> 0    
  Begin    
   ROLLBACK TRANSACTION SP_TCMOVI_BANC_I06            
   Close CU_TCMOVI_BANC_I06_1    
   Deallocate CU_TCMOVI_BANC_I06_1    
   Return    
  End    
   
    
  Update  TCMOVI_BANC    
  Set ST_CONT = 'P',  
   CO_USUA_MODI = @ISCO_USUA_MODI,    
   FE_USUA_MODI = GETDATE()    
  Where CO_EMPR  = @ISCO_EMPR    
  And   CO_BANC = @ISCO_BANC    
  And   NU_CNTA_BANC = @ISNU_CNTA_BANC    
  And   AA_BNCO = @ISAA_BNCO    
  And   MM_BNCO = @ISMM_BNCO    
  And   TI_MOVI_BANC = 'E'    
  And   NU_COMP_BANC = @OSNU_COMP_BANC    
  And   CO_UNID_CONC = @ISCO_UNID_CNTB

  If @@error <> 0    
  Begin    
   ROLLBACK TRANSACTION SP_TCMOVI_BANC_I06            
   Close CU_TCMOVI_BANC_I06_1    
   Deallocate CU_TCMOVI_BANC_I06_1    
   Return    
  End    
   
  Fetch  CU_TCMOVI_BANC_I06_1     
  Into @CSCO_TRAB, @CSNO_TRAB, @CNIM_DIST_CONV, @CSCO_MONE, @CDFE_OPER, @CNFA_TIPO_CAMB, @CSCO_TIPO_OPER, @CSCO_SUBR, 
@CDFE_PROC, @CSTI_CNTA_CTBL, @CSCO_CNTA_CTBL  
    
  Select @VNFE_0001 = @@FETCH_STATUS    
   
 End    
   
 Close CU_TCMOVI_BANC_I06_1    
 Deallocate CU_TCMOVI_BANC_I06_1    
    
Commit Tran SP_TCMOVI_BANC_I06    
    
RETURN    
    
/*------------------------ Fin ------------------------------*/


GO
